﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _7._20
{
    class Program
    {
        //public int[] arr = new int[] { 10, 20, 30/*, 4, 5, 6, 7, 8, 9, 10 */};
        static int Mus()
        {
            Console.Write("Введит элемент x = ");
            int x = int.Parse(Console.ReadLine());
            //while (x < 0 || x > arr[n - 1])
            //{
            //    Console.Write("Вы ввели число не входящее в массив");
            //    Console.WriteLine();
            //    Console.Write("Введит искомый элемент x = ");
            //    x = int.Parse(Console.ReadLine());
            //    //Console.Write("Вы ввели число не входящее в массив");
            //}

            return x;
        }
        static int [] Mus1()
        {
            Console.Write("Введите размер масива   n =");
            int n = int.Parse(Console.ReadLine());
            int[] arr = new int[n];

            for (int i = 0; i < n; i++)
            {
                    Console.Write("Введите элементы массива а[{0}] = ",i);
                    arr[i] = int.Parse(Console.ReadLine());
            }
            return arr;
        }
        public static int Counter(int x,int [] arr)
        {
            
            int last = arr[arr.Length - 1];
            int mid = 0; ;
            int first = arr[0];
            Console.Clear();
            for (int j = 0; j < arr.Length; j++)
            {
                mid = first + (last - first) / 2;
                if (x < mid)
                    last = mid;
                if (x >= mid)
                    first = mid;
                if (x == mid)
                {
                    break;
                }
            }
            return mid;
        }
         public static int Counter1(int mid, int[] arr)
        {
            int i = 0;
            for (; i < arr.Length; i++)
            {
                if (arr[i] == mid)
                {
                    break;
                }
            }
            return i;
        }
        public static void Output(int mid, int i)
        {
            Console.WriteLine("  Первое вхождение  числа {0} на позиции {1}", mid, i);
            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            int[] arr = Mus1();
            int x = Mus();
            int mid = Counter(x, arr);
            int i = Counter1(mid,arr);
            Output(mid, i);
        }
    }
}